/*
 */

#include <cxxomfort/base.hpp>
#include <cxxomfort/tuple.hpp>
#include <iostream>
#include <string>


struct Z {
	int z0;
	char const* z1;
	float z2;
};

int main () {
    using namespace std;
    
    typedef tuple<int,char const*,float> TU;
    TU Tu1 (0, "Hola Mundo", 3.14);
    cout<< tuple_size<TU>::value<< endl;
    cout<< "tu1_1: "<< get<1>(Tu1)<< endl;
    TU Tu2;
    Tu2= Tu1;
    get<0>(Tu2)= 12;
    cout<< "tu2_0: "<< get<0>(Tu2)<< endl;
    cout<< "tu1_0: "<< get<0>(Tu1)<< endl;
    Z z;
    tie(z.z0, ignore, z.z2) = Tu2;
    //tie(z.z0, z.z1, z.z2) = Tu2;
    cout<< "z0: "<< z.z0<< endl;
}

